import { post, ajax } from '@/utils/ajax'

// 查询列表
export function search(query) {
  return post('/conn/api/getApiMasterVersion', query)
}
export function getApiAndVersion(query) {
  return post('/conn/api/getApiAndVersion', query)
}
// 新增
export function insert(params) {
  return post('/conn/api/insert', params)
}
// 测试
export function testApi(params) {
  return post('/conn/api/testApi', params)
}
// 执行api
export function executeApi(params) {
  return post('/conn/api/executeApi', params)
}
// 上传接口
export function uploadApi(headers, params) {
  return ajax({
    url: '/conn/api/upload',
    method: 'post',
    headers,
    data: params,
  })
}
// 下载接口
export function downloadApi(params) {
  return ajax({
    url: '/conn/api/download',
    method: 'post',
    data: params,
    // 必需字段responseType
    responseType: 'blob'
  })
}
// A0136_查询API请求头参数
export function reqHeaderSearch(params) {
  return post('/conn/api/header/in/searchAll', params)
}
// A0135_新增API请求头参数
export function reqInParamInsert(params) {
  return post('/conn/api/header/in/insert', params)
}
// A0137_修改API请求头参数
export function reqInUpdateById(contentType) {
  return post('/conn/api/header/in/updateRowNotNullById', contentType)
}
// A0138_删除API请求头参数
export function reqInDeleteByIds(id) {
  return post('/conn/api/header/in/deleteById', { id })
}
// A0140_查询API响应头参数
export function resHeaderSearch(params) {
  return post('/conn/api/header/out/searchAll', params)
}
// A0135_新增API响应头参数
export function resOutParamInsert(params) {
  return post('/conn/api/header/out/insert', params)
}
// A0137_修改API响应头参数
export function resOutUpdateById(contentType) {
  return post('/conn/api/header/out/updateRowNotNullById', contentType)
}
// A0138_删除API响应头参数
export function resOutDeleteByIds(id) {
  return post('/conn/api/header/out/deleteById', { id })
}
// 新增输入参数
export function InParamInsert(params) {
  return post('/conn/api/param/in/insert', params)
}

// 批量新增输入参数
export function batchInParamInsert(params) {
  return post('/conn/api/param/in/batchImport', params)
}
// 插入PageParam结构参数
export function inParamInsertPageParam (params) {
  return post('/conn/api/param/in/insertPageParam', params);
}

// 新增输出参数
export function InParamOutInsert(params) {
  return post('/conn/api/param/out/insert', params)
}
// 批量新增输出参数
export function batchOutParamInsert(params) {
  return post('/conn/api/param/out/batchImport', params)
}
// 插入RestDomain结构参数
export function outParamInsertRestDomain (params) {
  return post('/conn/api/param/out/insertRestDomain', params);
}

// 获取输入参数列表
export function searchTree(params) {
  return post('/conn/api/param/in/searchTree', params)
}
// 获取输出参数列表
export function outSearchTree(params) {
  return post('/conn/api/param/out/searchTree', params)
}
// 新增服务Api
export function insertReturnId(params) {
  return post('/conn/api/insertReturnId', params)
}
// 修改
export function updateReturnId(contentType) {
  return post('/conn/api/updateReturnId', contentType)
}
// 修改版本
export function updateRowNotNullById(contentType) {
  return post('/conn/api/version/updateRowNotNullById', contentType)
}
// 修改输入参数
export function inUpdateById(contentType) {
  return post('/conn/api/param/in/updateRowNotNullById', contentType)
}
// 修改输出参数
export function outUpdateById(contentType) {
  return post('/conn/api/param/out/updateRowNotNullById', contentType)
}
// 删除
export function deleteByIds(id) {
  return post('/conn/api/deleteById', { id })
}
// 删除版本
export function deleteByIdAndVersion(query) {
  return post('/conn/api/version/deleteByIdAndVersion', query)
}
// 删除输入参数
export function inDeleteByIds(id) {
  return post('/conn/api/param/in/deleteById', { id })
}
// 删除输出参数
export function outDeleteByIds(id) {
  return post('/conn/api/param/out/deleteById', { id })
}
// 发布
export function enable(query) {
  return post('/conn/api/publishApi', query)
}
// 升级
export function upgradeApi(query) {
  return post('/conn/api/upgradeApi', query)
}
// 版本发布
export function versionEnable(query) {
  return post('/conn/api/version/enable', query)
}
// 撤销
export function revoke(query) {
  return post('/conn/api/version/revoke', query)
}
// 作废
export function discard(query) {
  return post('/conn/api/version/discard', query)
}
// 根据ID获取
export function selectById(id, apiVersion) {
  return post('/conn/api/selectByIdAndVersion', { apiId: id, apiVersion: apiVersion })
}
// 获取API版本清单
export function searchAllByEntity(apiId) {
  return post('/conn/api/version/searchAllByEntity', { apiId })
}
// 设为默认
export function master(query) {
  return post('/conn/api/version/master', query)
}
// 根据ID获取父节点详情
export function inSelectById(id) {
  return post('/conn/api/param/in/selectById', { id })
}

// 上传文件
export function uploadWsdl(query) {
  return post('/conn/api/uploadWsdl', query)
}

// 获取服务方法
export function wsdlOperationNames(query) {
  return post('/conn/api/selectWsdlOperationNames', query)
}

// 获取服务方法
export function selectWsdlOperationNamesByContentId(query) {
  return post('/conn/api/selectWsdlOperationNamesByContentId', query)
}

// 能力使用
export function getServiceList(query) {
  return post('/conn/service/searchServiceListForApi', query)
}

export function getJmsDatasource() {
  return post('/conn/jms/datasource/searchAll')
}
// 复制API接口
export function copyApi(params) {
  return post('/conn/api/copyApi', params)
}
